package pl.surecase.eu;

import de.greenrobot.daogenerator.DaoGenerator;
import de.greenrobot.daogenerator.Entity;
import de.greenrobot.daogenerator.Schema;

public class MyDaoGenerator {

    /**
     * 这里只需要关注一个问题，就是如果数据库要升级，这里是修改代码后全量重新创建。
     * 假设要给user表增加一个”age”属性，并且增加school表的做法是：
     * 把数据库版本号修改为2
     * 在initUserBean方法中加入userBean.addStringProperty("age");
     * 新建initSchoolBean方法
     */

    public static void main(String args[]) throws Exception {
        Schema schema = new Schema( 1, "com.greendao.bean");
        // 1: 数据库版本号
        // com.xxx.bean:自动生成的Bean对象会放到/java-gen/com/xxx/bean中

        schema.setDefaultJavaPackageDao("com.greendao.dao");
        // DaoMaster.java、DaoSession.java、BeanDao.java会放到/java-gen/com/xxx/dao中

        // 上面这两个文件夹路径都可以自定义，也可以不设置

        initMessageBean(schema); // 初始化Bean了

        new DaoGenerator().generateAll(schema, args[0]);// 自动创建
    }

//    private static void initUserBean(Schema schema) {
//        Entity userBean = schema.addEntity("UserBean");// 表名
//        userBean.setTableName("user"); // 可以对表重命名
//        userBean.addLongProperty("id").primaryKey().index();// 主键，索引
//        userBean.addStringProperty("phone");
//        userBean.addStringProperty("name");
//        userBean.addStringProperty("gender");
//    }

    private static void initMessageBean(Schema schema) {
        Entity userBean = schema.addEntity("MessageBean");// 表名
        userBean.setTableName("message");
        userBean.addLongProperty("id").primaryKey().index();// 主键，索引
        userBean.addStringProperty("send_id");
        userBean.addStringProperty("send_name");
        userBean.addStringProperty("receive_id");
        userBean.addStringProperty("receive_name");
        userBean.addStringProperty("message");
        userBean.addStringProperty("message_time");
    }
}
